package main

import (
	"fmt"
)

func main() {
	m := map[int]string{
		20095452: "张三",
		20098765: "李四",
	}
	fmt.Println(m)

	// 增加
	m[20095387] = "王五"
	fmt.Println(m)

	// 修改
	m[20095452] = "张三 plus"
	fmt.Println(m)

	// 删除 如果key存在，就删除该key-value，如果k的y不存在，不操作，但是也不会报错
	delete(m, 20098765)
	fmt.Println(m)
	// 清空 遍历逐个删除\赋值null

	// 查找
	value, flag := m[20095452]
	fmt.Println(value)
	fmt.Println(flag)

	// 长度
	fmt.Println(len(m))

	// 遍历
	for k, v := range m {
		fmt.Printf("key: %v, value: %v \n", k, v)
	}

	m2 := make(map[string]map[int]string)
	m2["class01"] = make(map[int]string)
	m2["class02"] = make(map[int]string)

	m2["class01"][1001] = "张三"
	m2["class01"][1002] = "李四"

	m2["class02"][2001] = "王五"
	m2["class02"][2002] = "朱六"

	for k, v := range m2 {
		fmt.Println(k)
		for k2, v2 := range v {
			fmt.Printf("学号为: %v 姓名为: %v \t", k2, v2)
		}
		fmt.Println()
	}
}
